1. Field of the Invention
This invention relates generally to microprogrammed data processing systems and more specifically to the aligning of long operands which are the result of a decimal numeric instruction calculating with the long operand for storage in memory.
2. Description of the Prior Art
Data processing systems process data stored in memory in the form of decimal digits. Computer instructions are also stored in memory. Some of the instructions when processed by the data processing system result in arithmetic operations being performed on the decimal digits. For example, a decimal numeric instruction may be processed by the computing system to add one set of decimal digits--operand 1, from one group of memory locations to another set of decimal digits from another group of memory locations--operand 2, and place the result--operand 3, into a third group of memory locations.
Descriptors associated with the instruction define the characteristics of each of the operands. Each operand may be a floating point number or a scaled number. Each decimal digit may have 4 bits or 9 bits. The descriptor also defines the number of decimal digits in the operand, the location of the decimal point, i.e., the scale factor, the character position within a word of the most significant character of the operand, and the location of the sign if the operand contains a sign, either in the most significant character position--leading sign, or the least significant character position in a scaled operand--trailing sign. The instruction will indicate if the operand is ASCII or EBCDIC and if the sign is part of an overpunched character.
This invention processes operand 3 in accordance with its descriptor for storage in memory.
Prior art systems, for example, the Honeywell 6000 family of computers stored operand 3 in the bank of registers with combination logic setting up the pointers to identify the number and positions of leading and trailing zones as well as the character size, 4 bits or 9 bits, within each word and the position of the sign, trailing or leading.
Microprogrammed systems were developed to perform the same functions as the hardware systems such as the Honeywell 6000 and at a reduced product cost. However, in certain areas such as during the processing of decimal numeric instructions a considerable number of firmware steps were required to condition the resultant operand 3 for storage in memory, thereby reducing the system throughput during the processing of decimal numeric instructions.